#include "../../platform/win32/inc/stdafx.h"
#include "../common/inc/InternalCommon.h"
#include "../inc/File.h"

namespace	Platform
{

	namespace System
	{

		CFile::CFile(){}

		CFile::~CFile(){}

		CFile::CFile(const CFile &object)
		{
			(*this) = object;
		}

		CFile& CFile::operator=(const CFile &object)
		{
			return (*this);
		}

		bool CFile::operator==(const CFile &object)
		{
			return (this == &object);
		}

		int CFile::Create(IN const cstring &name, IN DWORD mode)
		{
			return m_System.Create(name, mode);
		}

		int CFile::Destroy(void)
		{
			return m_System.Destroy();
		}

		int CFile::Read(OUT void *buffer, IN_OUT DWORD &length)
		{
			return m_System.Read(buffer, length);
		}

		int CFile::Write(IN const void *buffer, IN_OUT DWORD &length)
		{
			return m_System.Write(buffer, length);
		}

		int CFile::SetPosition(IN ePosition begin, IN_OUT ULONGLONG &position)
		{
			return m_System.SetPosition(begin, position);
		}

		int CFile::GetPosition(OUT ULONGLONG &position)
		{
			return m_System.GetPosition(position);
		}

	}

}